#pragma once

// 通用材料相关类型定义，供参数解析、系统与材料库共同使用。
// 独立拆分该头可避免 parameter_reader/material_database/electromagnetics_system
// 之间的循环依赖。

namespace cem {

// 各向异性参数条目：描述主值与三旋转角（单位: 度）。
struct AnisotropySpecEntry {
    int area_id{0};
    double principal_1{0.0};
    double principal_2{0.0};
    double principal_3{0.0};
    double strike_deg{0.0};
    double dip_deg{0.0};
    double slant_deg{0.0};
};

// 层化模型条目（区域 id、层厚、各层导电率）
struct LayerDepthConduction {
    int id{0};
    double depth{0.0};
    double conductivity{0.0};
};

} // namespace cem